<html manifest=node.manifest>
<head>
  <meta charset="utf-8">
  <title>Mixly</title>
  <script type="text/javascript" src="../../blockly_compressed.js"></script>
  <script type="text/javascript" src="../../core/variables.js"></script>
  <script type="text/javascript" src="../../core/procedures.js"></script>
  <script type="text/javascript" src="../../core/blockly.js"></script>
  <script type="text/javascript" src="../../core/events.js"></script>
  <script type="text/javascript" src="../../core/field_textarea.js"></script>
  <script type="text/javascript" src="../../arduino.js"></script>
  <script type="text/javascript" src="company_pin.js"></script>
  <script type="text/javascript" src="js/drag.js"></script>
  <script type="text/javascript" src="js/code.js"></script>
  <script type="text/javascript" src="digitalPinToInterrupt.js"></script>
  <script type="text/javascript" src="js/Blob.js"></script>
  <script type="text/javascript" src="spin.js"></script>
  <script type="text/javascript" src="js/FileSaver.min.js"></script>
  <script type="text/javascript" src="js/blockly_helper.js"></script>
  <script type="text/javascript" src="jquery-1.11.3.min.js"></script>
  <script src="js/lib/ace/ace.js" type="application/javascript"></script>
  <script src="js/lib/ace/ext-language_tools.js" type="application/javascript"></script>
  <script type="text/javascript" src="myblock.js"></script>
  <script type="text/javascript" src="../../generators/arduino/factory.js"></script>
  <script type="text/javascript" src="../../generators/arduino/blynk.js"></script>
  <script type="text/javascript" src="../../generators/arduino/pins.js"></script>
  <script type="text/javascript" src="../../generators/arduino/inout.js"></script>
  <script type="text/javascript" src="../../generators/arduino/control.js"></script>
  <script type="text/javascript" src="../../generators/arduino/math.js"></script>
  <script type="text/javascript" src="../../generators/arduino/text.js"></script>
  <script type="text/javascript" src="../../generators/arduino/lists.js"></script>
  <script type="text/javascript" src="../../generators/arduino/logic.js"></script>
  <script type="text/javascript" src="../../generators/arduino/display.js"></script>
  <script type="text/javascript" src="../../generators/arduino/communicate.js"></script>
  <script type="text/javascript" src="../../generators/arduino/storage.js"></script>
  <script type="text/javascript" src="../../generators/arduino/sensor.js"></script>
  <script type="text/javascript" src="../../generators/arduino/ethernet.js"></script>
  <script type="text/javascript" src="../../generators/arduino/variables.js"></script>
  <script type="text/javascript" src="../../generators/arduino/procedures.js"></script>
  <script type="text/javascript" src="../../generators/arduino/serial.js"></script>
  <script type="text/javascript" src="../../generators/arduino/actuator.js"></script>
  <script type="text/javascript" src="../../generators/arduino/scoop.js"></script>
  <script type="text/javascript" src="../../generators/arduino/tools.js"></script>
  <script type="text/javascript" src="../../blocks/arduino/factory.js"></script>
  <script type="text/javascript" src="../../blocks/arduino/blynk.js"></script>
  <script type="text/javascript" src="../../blocks/arduino/pins.js"></script>
  <script type="text/javascript" src="../../blocks/arduino/inout.js"></script>
  <script type="text/javascript" src="../../blocks/arduino/control.js"></script>
  <script type="text/javascript" src="../../blocks/arduino/math.js"></script>
  <script type="text/javascript" src="../../blocks/arduino/text.js"></script>
  <script type="text/javascript" src="../../blocks/arduino/lists.js"></script>
  <script type="text/javascript" src="../../blocks/arduino/logic.js"></script>
  <script type="text/javascript" src="../../blocks/arduino/display.js"></script>
  <script type="text/javascript" src="../../blocks/arduino/communicate.js"></script>
  <script type="text/javascript" src="../../blocks/arduino/storage.js"></script>
  <script type="text/javascript" src="../../blocks/arduino/sensor.js"></script>
  <script type="text/javascript" src="../../blocks/arduino/ethernet.js"></script>
  <script type="text/javascript" src="../../blocks/arduino/variables.js"></script>
  <script type="text/javascript" src="../../blocks/arduino/procedures.js"></script>
  <script type="text/javascript" src="../../blocks/arduino/serial.js"></script>
  <script type="text/javascript" src="../../blocks/arduino/actuator.js"></script> 
  <script type="text/javascript" src="../../blocks/arduino/scoop.js"></script>
  <script type="text/javascript" src="../../blocks/arduino/tools.js"></script>
  <script src = "init.js"></script>
  <link rel="stylesheet" type="text/css" href="css/color.css"/>
  <link rel="stylesheet" type="text/css" href="css/ACEfont.css"/>
</head>
<body onload="init()">
  <table height="100%" width="100%" id="table_whole">
    <tr>
      <td colspan=3>
        <table width="100%">
          <tr id="tabRow" height="1em">
            <td style="vertical-align: center;" id="tab_blocks" class="tabon" onclick="tabClick('blocks')">
             <img style="vertical-align:middle" width="25" src="media/blocks.png"/>
             <span id="span_blocks">Blocks</span>
           </td>
           <td class="tabmin">&nbsp;</td>
           <td style="vertical-align: center;text-align:center;" id="tab_arduino" class="taboff" onclick="tabClick('arduino')">
             <span id="span_arduino">Code</span>
           </td>
           <td class="tabmin">&nbsp;</td>
           <td style="vertical-align: center;text-align:center;display:none;" id="tab_xml" class="taboff" onclick="tabClick('xml')">XML</td>
           <td class="tabcoyright">
            <span id="copyright" style="font-family:'YaHei Consolas Hybrid', 'Microsoft Yahei Light', 'Arial';font-size:12px;color:#999;">copyright</span>
          </td>
          <td class="tabmin">
           <input onclick="Blockly.mainWorkspace.undo(0);" name="undo" type="image" title="undo(ctrl+z)"  src="media/undo.png" style="padding:5px;" onmouseover="this.src='media/undo1.png'" onmousedown="this.src='media/undo2.png'" onmouseup="this.src='media/undo1.png'" onmouseout="this.src='media/undo.png'" width="20" height="20" border="0">
         </td>
         <td class="tabmin">
           <input onclick="Blockly.mainWorkspace.undo(1);" name="redo" type="image" title="redo(ctrl+y)"  src="media/redo.png" style="padding:5px" onmouseover="this.src='media/redo1.png'" onmousedown="this.src='media/redo2.png'" onmouseup="this.src='media/redo1.png'" onmouseout="this.src='media/redo.png'" width="20" height="20" border="0">
         </td>
         <td class="tabmin"style="padding-right:20px">
          <input onclick="JSFuncs.openUrlInBrowser('http://wiki.mixly.org/')" name="help" type="image" src="media/help.png" style="padding:5px" onmouseover="this.src='media/help1.png'" onmousedown="this.src='media/help2.png'" onmouseup="this.src='media/help1.png'" onmouseout="this.src='media/help.png'" width="20" height="20" border="0">
        </td>
        <td class="tabmin" style="padding-right:20px;display:none;">
          <button id="fakeload">LoadXML</button>
          <input type="file" id="load" style="display: none;"/>
        </td>
        <td class="tabmin">
          <select id="languageMenu"></select>
        </td>
        <td class="tabmin">
          <select id="aceTheme" style="width:100px; height:23px; margin-left: 10px;">
           <optgroup label="代码区亮色主题">
            <option value="ace/theme/chrome">Chrome</option>
            <option value="ace/theme/clouds">Clouds</option>
            <option value="ace/theme/crimson_editor">Crimson Editor</option>
            <option value="ace/theme/dawn">Dawn</option>
            <option value="ace/theme/dreamweaver">Dreamweaver</option>
            <option value="ace/theme/eclipse">Eclipse</option>
            <option value="ace/theme/github">GitHub</option>
            <option value="ace/theme/iplastic">IPlastic</option>
            <option value="ace/theme/solarized_light">Solarized Light</option>
            <option value="ace/theme/textmate">TextMate</option>
            <option value="ace/theme/tomorrow">Tomorrow</option>
            <option value="ace/theme/xcode">XCode</option>
            <option value="ace/theme/kuroir">Kuroir</option>
            <option value="ace/theme/katzenmilch">KatzenMilch</option>
            <option value="ace/theme/sqlserver">SQL Server</option>
          </optgroup>
          <optgroup label="代码区暗色主题">
            <option value="ace/theme/ambiance">Ambiance</option>
            <option value="ace/theme/chaos">Chaos</option>
            <option value="ace/theme/clouds_midnight">Clouds Midnight</option>
            <option value="ace/theme/dracula">Dracula</option>
            <option value="ace/theme/cobalt">Cobalt</option>
            <option value="ace/theme/gruvbox">Gruvbox</option>
            <option value="ace/theme/gob">Green on Black</option>
            <option value="ace/theme/idle_fingers">idle Fingers</option>
            <option value="ace/theme/kr_theme">krTheme</option>
            <option value="ace/theme/merbivore">Merbivore</option>
            <option value="ace/theme/merbivore_soft">Merbivore Soft</option>
            <option value="ace/theme/mono_industrial">Mono Industrial</option>
            <option value="ace/theme/monokai">Monokai</option>
            <option value="ace/theme/pastel_on_dark">Pastel on dark</option>
            <option value="ace/theme/solarized_dark">Solarized Dark</option>
            <option value="ace/theme/terminal">Terminal</option>
            <option value="ace/theme/tomorrow_night">Tomorrow Night</option>
            <option value="ace/theme/tomorrow_night_blue">Tomorrow Night Blue</option>
            <option value="ace/theme/tomorrow_night_bright">Tomorrow Night Bright</option>
            <option value="ace/theme/tomorrow_night_eighties">Tomorrow Night 80s</option>
            <option value="ace/theme/twilight">Twilight</option>
            <option value="ace/theme/vibrant_ink">Vibrant Ink</option>
          </optgroup>
        </select>
      </td>
      <script>
       document.getElementById('span_blocks').textContent = MSG['tab_blocks'];
       document.getElementById('span_arduino').textContent = MSG['tab_arduino'];
     </script>
   </tr>
 </table>
</td>
</tr>
<tr>
  <td height="100%" width="75%" id="content_area"></td>
  <td style="display:none;height:100%;width:0.3%;background: #ddd;cursor: w-resize;" id="mid_td"></td>
  <td width="25%" style="background-color:#eee;display:none;" id="side_code_parent">
    <div id="side_code" wrap="off" readonly></div>
  </td>
  <div id="sidebar" class="right-top" onclick="sidecodeClick()"></div>
</tr>
</table>
<div id="content_blocks" class="content"></div>
<div id="content_arduino" class="content" wrap="off" ></div>
<textarea id="content_xml" class="content" wrap="off" readonly></textarea>
<xml id="toolbox" style="display: none">
  <category name="" id="catInOut" colour="20">
    <block type="inout_highlow">
    </block>
    <block type="inout_digital_write2">
     <value name="PIN">
      <shadow type="pins_digital"></shadow>
    </value>
    <value name="STAT">
      <shadow type="inout_highlow">
      </shadow>
    </value>
  </block>
  <block type="inout_digital_read2">
    <value name="PIN">
      <shadow type="pins_digital"></shadow>
    </value>
  </block>
  <block type="inout_analog_write">
    <value name="PIN">
      <shadow type="pins_pwm"></shadow>
    </value>
    <value name="NUM">
      <shadow type="math_number">
        <field name="NUM">0</field>
      </shadow>
    </value>
  </block>
  <block type="inout_analog_read">
    <value name="PIN">
      <shadow type="pins_analog"></shadow>
    </value>
  </block>
  <block type="inout_soft_analog_write">
    <value name="PIN">
      <shadow type="pins_digital"></shadow>
    </value>
    <value name="NUM">
      <shadow type="math_number">
        <field name="NUM">0</field>
      </shadow>
    </value>
  </block>
  <block type="inout_cancel_soft_analog_write">
    <value name="PIN">
      <shadow type="pins_digital"></shadow>
    </value>
  </block>
  <block type="OneButton_interrupt">
    <value name="PIN">
      <shadow type="pins_digital"></shadow>
    </value>
    <value name="STAT">
      <shadow type="inout_highlow">
      </shadow>
    </value>
  </block>
  <block type="controls_attachInterrupt">
    <value name="PIN">
      <shadow type="pins_interrupt"></shadow>
    </value>
  </block>
  <block type="controls_detachInterrupt">
    <value name="PIN">
      <shadow type="pins_interrupt"></shadow>
    </value>
  </block>
  <block type="controls_attachPinInterrupt">
    <value name="PIN">
      <shadow type="pins_digital"></shadow>
    </value>
  </block>
  <block type="controls_detachPinInterrupt">
    <value name="PIN">
      <shadow type="pins_digital"></shadow>
    </value>
  </block>
  <block type="inout_pulseIn">
    <value name="PIN">
      <shadow type="pins_digital"></shadow>
    </value>
  </block>
  <block type="inout_pulseIn2">
    <value name="PIN">
      <shadow type="pins_digital"></shadow>
    </value>
    <value name="TIMEOUT">
      <shadow type="math_number">
        <field name="NUM">1000000</field>
      </shadow>
    </value>
  </block>
  <block type="inout_pinMode">
    <value name="PIN">
      <shadow type="pins_digital"></shadow>
    </value>
  </block>
  <block type="inout_shiftout">
    <value name="PIN1">
      <shadow type="pins_digital"></shadow>
    </value>
    <value name="PIN2">
      <shadow type="pins_digital"></shadow>
    </value>
    <value name="DATA">
      <shadow type="math_number">
        <field name="NUM">0</field>
      </shadow>
    </value>
  </block>
</category>
<category id="catControl"  colour="120">
  <block type="base_setup">
  </block>
  <block type="controls_end_program">
  </block>
  <block type="controls_soft_reset">
  </block>
  <block type="do_while">
    <value name="select_data">
      <shadow type="logic_boolean">
      </shadow>
    </value>
  </block>
  <block type="controls_whileUntil">
    <value name="BOOL">
      <shadow type="logic_boolean">
      </shadow>
    </value>
  </block>
  <block type="controls_delay">
   <value name="DELAY_TIME">
    <shadow type="math_number">
      <field name="NUM">1000</field>
    </shadow>
  </value>
</block>
<block type="controls_if">
</block>
<block type="controls_switch_case">
</block>
<block type="controls_for">
 <value name="FROM">
  <shadow type="math_number">
    <field name="NUM">1</field>
  </shadow>
</value>
<value name="TO">
  <shadow type="math_number">
    <field name="NUM">10</field>
  </shadow>
</value>
<value name="STEP">
  <shadow type="math_number">
    <field name="NUM">1</field>
  </shadow>
</value>
</block>
<block type="controls_flow_statements">
</block>
<block type="controls_millis">
</block>
<block type="base_setup">
  <statement name="DO">
    <block type="controls_mstimer2">
      <value name="TIME">
        <shadow type="math_number">
          <field name="NUM">500</field>
        </shadow>
      </value>
    </block>
  </statement>
</block>
<block type="controls_mstimer2_start">
</block>
<block type="controls_mstimer2_stop">
</block>
<block type="simple_timer" >
  <field name="NO">1</field>
  <value name="timein">
    <shadow type="math_number">
      <field name="NUM">1000</field>
    </shadow>
  </value>
</block>
<block type="super_delay_function1"></block>
<block type="execute_super_delay_function1">
 <value name="time_interval">
  <shadow type="math_number">
    <field name="NUM">1000</field>
  </shadow>
</value>
<value name="frequency">
  <shadow type="math_number">
    <field name="NUM">1</field>
  </shadow>
</value>
</block>
<block type="controls_interrupts"></block>
<block type="controls_nointerrupts"></block>
<block type="SCoopTask"></block>
<block type="SCoop_yield"></block>
<block type="SCoop_sleep">
  <value name="sleeplength">
    <shadow type="math_number">
      <field name="NUM">1000</field>
    </shadow>
  </value>
</block>
</category>
<category id="catMath"  colour="230">
  <block type="math_number">
  </block>
  <block type="math_arithmetic">
    <value name="A">
      <shadow type="math_number">
        <field name="NUM">1</field>
      </shadow>
    </value>
    <value name="B">
      <shadow type="math_number">
        <field name="NUM">1</field>
      </shadow>
    </value>
  </block>
  <block type="math_bit">
    <value name="A">
      <shadow type="math_number">
        <field name="NUM">0</field>
      </shadow>
    </value>
    <value name="B">
      <shadow type="math_number">
        <field name="NUM">0</field>
      </shadow>
    </value>
  </block>
  <block type="math_trig">
  </block>
  <block type="variables_operation">
    <value name="data">
      <shadow type="math_number">
        <field name="NUM">1</field>
      </shadow>
    </value>
    <value name="variables">
      <shadow type="math_number">
        <field name="NUM">item</field>
      </shadow>
    </value>
  </block>
  <block type="math_auto_add_or_minus">
    <field name="math_auto_add_minus_type">++</field>
    <value name="math_auto_add_minus_output">
      <shadow type="variables_get">
        <field name="VAR">item</field>
      </shadow>
    </value>
  </block>
  <block type="math_to_int">
  </block>
  <block type="math_SizeOf">
    <value name="data">
      <shadow type="arduino_variate_type">
      </shadow>
    </value>
  </block>
  <block type="math_max_min">
    <value name="A">
      <shadow type="math_number">
        <field name="NUM">1</field>
      </shadow>
    </value>
    <value name="B">
      <shadow type="math_number">
        <field name="NUM">2</field>
      </shadow>
    </value>
  </block>
  <block type="math_random_seed">
    <value name="NUM">
      <shadow type="math_number">
        <field name="NUM">997</field>
      </shadow>
      <block type="controls_millis">
        <field name="UNIT">millis</field>
      </block>
    </value>
  </block>
  <block type="math_random_int">
   <value name="FROM">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
  <value name="TO">
    <shadow type="math_number">
      <field name="NUM">100</field>
    </shadow>
  </value>
</block>
<block type="math_constrain">
 <value name="LOW">
  <shadow type="math_number">
    <field name="NUM">1</field>
  </shadow>
</value>
<value name="HIGH">
  <shadow type="math_number">
    <field name="NUM">100</field>
  </shadow>
</value>
</block>
<block type="base_map">
 <value name="fromLow">
  <shadow type="math_number">
    <field name="NUM">1</field>
  </shadow>
</value>
<value name="fromHigh">
  <shadow type="math_number">
    <field name="NUM">100</field>
  </shadow>
</value>
<value name="toLow">
  <shadow type="math_number">
    <field name="NUM">1</field>
  </shadow>
</value>
<value name="toHigh">
  <shadow type="math_number">
    <field name="NUM">1000</field>
  </shadow>
</value>
</block>
</category>
<category id="catLogic"  colour="210">
  <block type="logic_compare">
  </block>
  <block type="logic_operation">
  </block>
  <block type="logic_negate">
  </block>
  <block type="logic_boolean">
  </block>
  <block type="logic_null">
  </block>
  <block type="logic_true_or_false">
  </block>
</category>
<category id="catText"  colour="160">
  <block type="text">
    <field name="TEXT">hello</field>
  </block>
  <block type="text_char">
    <field name="TEXT">a</field>
  </block>
  <block type="text_join">
   <value name="A">
    <shadow type="text">
      <field name="TEXT">Hello</field>
    </shadow>
  </value>
  <value name="B">
    <shadow type="text">
      <field name="TEXT">Mixly</field>
    </shadow>
  </value>
</block>
<block type="text_join2">
  <value name="ADD0">
    <block type="text">
      <field name="TEXT">A</field>
    </block>
  </value>
  <value name="ADD1">
    <block type="text">
      <field name="TEXT">B</field>
    </block>
  </value>
  <value name="ADD2">
    <block type="text">
      <field name="TEXT">C</field>
    </block>
  </value>
</block>
<block type="text_to_number">
 <value name="VAR">
  <shadow type="text">
    <field name="TEXT">123</field>
  </shadow>
</value>
</block>
<block type="String_indexOf">
  <value name="str1">
    <shadow type="text">
      <field name="TEXT">Mixly</field>
    </shadow>
  </value>
  <value name="str2">
    <shadow type="text">
      <field name="TEXT">y</field>
    </shadow>
  </value>
</block>
<block type="substring">
  <value name="name">
   <shadow type="text">
    <field name="TEXT">substring</field>
  </shadow>
</value>
<value name="Start">
  <shadow type="math_number">
    <field name="NUM">0</field>
  </shadow>
</value>
<value name="end">
  <shadow type="math_number">
    <field name="NUM">3</field>
  </shadow>
</value>
</block>
<block type="decimal_places">
  <value name="numeral">
    <shadow type="math_number">
      <field name="NUM">6.666</field>
    </shadow>
  </value>
  <value name="decimal_places">
    <shadow type="math_number">
      <field name="NUM">2</field>
    </shadow>
  </value>
</block>
<block type="letter_conversion">
  <value name="String">
    <shadow type="math_number">
      <field name="NUM">String</field>
    </shadow>
  </value>
</block>
<block type="data_replacement">
  <value name="String">
    <shadow type="math_number">
      <field name="NUM">String</field>
    </shadow>
  </value>
  <value name="source_data">
   <shadow type="text">
    <field name="TEXT">s</field>
  </shadow>
</value>
<value name="replace">
 <shadow type="text">
  <field name="TEXT">Q</field>
</shadow>
</value>
</block>
<block type="eliminate">
  <value name="String">
    <shadow type="math_number">
      <field name="NUM">String</field>
    </shadow>
  </value>
</block>
<block type="first_and_last">
  <value name="String">
   <shadow type="text">
    <field name="TEXT">substring</field>
  </shadow>
</value>
<value name="String1">
 <shadow type="text">
  <field name="TEXT">substring</field>
</shadow>
</value>
</block>
<block type="type_conversion">
  <value name="variable">
   <shadow type="text">
    <field name="TEXT">substring</field>
  </shadow>
</value>
</block>
<block type="ascii_to_char">
  <value name="VAR">
    <shadow type="math_number">
      <field name="NUM">223</field>
    </shadow>
  </value>
</block>
<block type="char_to_ascii">
  <field name="TEXT">a</field>
</block>
<block type="number_to_text">
  <value name="VAR">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
</block>
<block type="text_length">
 <value name="VAR">
  <shadow type="text">
    <field name="TEXT">hello</field>
  </shadow>
</value>
</block>
<block type="text_char_at">
  <value name="VAR">
    <shadow type="text">
      <field name="TEXT">hello</field>
    </shadow>
  </value>
  <value name="AT">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
</block>
<block type="text_equals_starts_ends">
  <value name="STR1">
    <shadow type="text">
      <field name="TEXT"></field>
    </shadow>
  </value>
  <value name="STR2">
    <shadow type="text">
      <field name="TEXT"></field>
    </shadow>
  </value>
</block>
<block type="text_compareTo">
  <value name="STR1">
    <shadow type="text">
      <field name="TEXT"></field>
    </shadow>
  </value>
  <value name="STR2">
    <shadow type="text">
      <field name="TEXT"></field>
    </shadow>
  </value>
</block>
</category>
<category id="catLists"  colour="260">
  <block type="lists_create_with2">
  </block>
  <block type="lists_create_with_text2">
  </block>
  <block type="lists_length">
  </block>
  <block type="lists_getIndex">
   <value name="AT">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
</block>
<block type="lists_setIndex">
 <value name="AT">
  <shadow type="math_number">
    <field name="NUM">1</field>
  </shadow>
</value>
</block>
<block type="lists_array2_setup">
  <field name="lists_create_type">int</field>
  <field name="lists_create_name">mylist</field>
  <statement name="lists_with_2_1_data">
    <block type="lists_array2_setup_get_data">
      <mutation items="3"></mutation>
      <value name="ADD0">
        <block type="math_number" >
          <field name="NUM">0</field>
        </block>
      </value>
      <value name="ADD1">
        <block type="math_number" >
          <field name="NUM">1</field>
        </block>
      </value><value name="ADD2">
        <block type="math_number">
          <field name="NUM">2</field>
        </block>
      </value>
      <next>
        <block type="lists_array2_setup_get_data">
          <mutation items="3"></mutation>
          <value name="ADD0">
            <block type="math_number">
              <field name="NUM">1</field>
            </block>
          </value>
          <value name="ADD1">
            <block type="math_number">
              <field name="NUM">2</field>
            </block>
          </value>
          <value name="ADD2">
            <block type="math_number">
              <field name="NUM">3</field>
            </block>
          </value>
          <next>
            <block type="lists_array2_setup_get_data">
              <mutation items="3">
              </mutation><value name="ADD0">
                <block type="math_number">
                  <field name="NUM">2</field>
                </block>
              </value>
              <value name="ADD1">
                <block type="math_number">
                  <field name="NUM">3</field>
                </block>
              </value>
              <value name="ADD2">
                <block type="math_number">
                  <field name="NUM">4</field>
                </block>
              </value>
            </block>
          </next>
        </block>
      </next>
    </block>
  </statement>
</block>
<block type="create_array2_with_text">
  <value name="name">
    <shadow type="math_number">
      <field name="NUM">array</field>
    </shadow>
  </value>
  <value name="line">
    <shadow type="math_number">
      <field name="NUM">2</field>
    </shadow>
  </value>
  <value name="list">
    <shadow type="math_number">
      <field name="NUM">2</field>
    </shadow>
  </value>
  <value name="String">
    <shadow type="math_number">
      <field name="NUM">{0,0},{0,0}</field>
    </shadow>
  </value>
</block>
<block type="array2_assignment">
  <value name="name">
    <shadow type="math_number">
      <field name="NUM">array</field>
    </shadow>
  </value>
  <value name="line">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
  <value name="list">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
  <value name="assignment">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
</block>
<block type="get_array2_value">
  <value name="name">
    <shadow type="math_number">
      <field name="NUM">array</field>
    </shadow>
  </value>
  <value name="line">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
  <value name="list">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
</block>
<block type="loop_array">
  <value name="name">
    <shadow type="math_number">
      <field name="NUM">array</field>
    </shadow>
  </value>
</block>
<block type="lists_array2_get_length">
</block>
</category>
<category id="catVar" colour="330" custom="VARIABLE">
</category>
<category id="catFun" custom="PROCEDURE" colour="290">
</category>
<category id="catSerialPort"  colour="65">
 <block type="serial_begin">
  <value name="CONTENT">
    <shadow type="math_number">
      <field name="NUM">9600</field>
    </shadow>
  </value>
</block>
<block type="serial_write">
</block>
<block type="serial_print">
  <field name="serial_select">Serial</field>
  <field name="new_line">println</field>
</block>
<block type="serial_print_num">
  <value name="CONTENT">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
</block>
<block type="serial_available">
</block>
<block type="serial_readstr">
</block>
<block type="serial_readstr_until">
  <value name="CONTENT">
    <shadow type="text_char">
     <field name="TEXT">a</field>
   </shadow>
 </value>
</block>
<block type="serial_parseInt_Float">
</block>
<block type="serial_flush">
</block>
<block type="serial_softserial">
  <value name="TX">
    <shadow type="pins_digital"></shadow>
  </value>
  <value name="RX">
    <shadow type="pins_digital"></shadow>
  </value>
</block>
<block type="serial_event">
</block>
</category>
<category id="catSensor" colour="40">
  <block type="chaoshengbo2">
  </block>
  <block type="DHT">
    <value name="PIN">
      <shadow type="pins_digital"></shadow>
    </value>
  </block>
  <block type="LM35">
    <value name="PIN">
      <shadow type="pins_analog"></shadow>
    </value>
  </block>
  <block type="ds18b20">
    <value name="PIN">
      <shadow type="pins_digital"></shadow>
    </value>
  </block>
  <block type="BME280_READ">
    <value name="address">
      <shadow type="math_number">
        <field name="NUM">0x77</field>
      </shadow>
    </value>
  </block>
  <block type="SHT20">
  </block>
  <block type="NTC_TEMP">
    <value name="NominalResistance">
      <shadow type="math_number">
        <field name="NUM">10000</field>
      </shadow>
    </value>
    <value name="betaCoefficient">
      <shadow type="math_number">
        <field name="NUM">3950</field>
      </shadow>
    </value>
    <value name="seriesResistor">
      <shadow type="math_number">
        <field name="NUM">10000</field>
      </shadow>
    </value>
  </block>
  <block type="mlx90614_init">
    <value name="mlx90614_address">
      <shadow type="math_number">
        <field name="NUM">0x5A</field>
      </shadow>
    </value>
  </block>
  <block type="mlx90614_get_data">
  </block>

  <!-- 改用DF TCS34725 颜色识别传感器库 -->
  <!-- <block type="TCS34725_Get_RGB">
  </block> -->
  <block type="TCS34725_Get_RGB">
  </block>

  <block type="tcs230_init">
    <value name="tcs230_s0">
      <shadow type="pins_digital">
        <field name="PIN">2</field>
      </shadow>
    </value>
    <value name="tcs230_s1">
      <shadow type="pins_digital">
        <field name="PIN">3</field>
      </shadow>
    </value>
    <value name="tcs230_s2">
      <shadow type="pins_digital">
        <field name="PIN">4</field>
      </shadow>
    </value>
    <value name="tcs230_s3">
      <shadow type="pins_digital">
        <field name="PIN">5</field>
      </shadow>
    </value>
    <value name="tcs230_led">
      <shadow type="pins_digital">
        <field name="PIN">6</field>
      </shadow>
    </value>
    <value name="tcs230_out">
      <shadow type="pins_digital">
        <field name="PIN">7</field>
      </shadow>
    </value>
  </block>
  <block type="tcs230_Get_RGB">
  </block>
  <block type="MPU6050_update">
  </block>
  <block type="MPU6050">
  </block>
  <block type="mixgo_MPU9250">
  </block>
  <block type="ADXL345">
  </block>
  <block type="LIS3DHTR">
  </block>
  <block type="ADXL345_setOffset">
    <value name="OFFSET">
      <shadow type="math_number">
        <field name="NUM">120</field>
      </shadow>
    </value>
  </block>
  <block type="weightSensor">
    <value name="scale">
      <shadow type="math_number">
        <field name="NUM">1992</field>
      </shadow>
    </value>
  </block>
  <block type="encoder_init">
  </block>
  <block type="encoder_read"></block>
  <block type="encoder_write">
   <value name="value">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
</block>
<!--DS1302-->
<block type="DS1302_init">
  <value name="RST">
    <shadow type="pins_digital">
      <field name="PIN">2</field>
    </shadow>
  </value>
  <value name="DAT">
    <shadow type="pins_digital">
      <field name="PIN">3</field>
    </shadow>
  </value>
  <value name="CLK">
    <shadow type="pins_digital">
      <field name="PIN">4</field>
    </shadow>
  </value>
</block>
<block type="DS1307_init">
  <value name="SDA">
    <shadow type="pins_digital">
      <field name="PIN">SDA</field>
    </shadow>
  </value>
  <value name="SCL">
    <shadow type="pins_digital">
      <field name="PIN">SCL</field>
    </shadow>
  </value>
</block>
<block type="RTC_get_time"></block>
<block type="RTC_time">
  <value name="hour">
    <shadow type="math_number">
      <field name="NUM">8</field>
    </shadow>
  </value>
  <value name="minute">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
  <value name="second">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
</block>
<block type="RTC_date">
  <value name="year">
    <shadow type="math_number">
      <field name="NUM">2020</field>
    </shadow>
  </value>
  <value name="month">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
  <value name="day">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
</block>
<block type="RTC_set_time">
  <value name="date">
    <shadow type="text" >
      <field name="TEXT">Jan/01/2020</field>
    </shadow>
    <block type="RTC_date" >
      <value name="year">
        <shadow type="math_number">
          <field name="NUM">2020</field>
        </shadow>
      </value>
      <value name="month">
        <shadow type="math_number">
          <field name="NUM">1</field>
        </shadow>
      </value>
      <value name="day">
        <shadow type="math_number" >
          <field name="NUM">1</field>
        </shadow>
      </value>
    </block>
  </value>
  <value name="time">
    <shadow type="text" >
      <field name="TEXT">12:34:56</field>
    </shadow>
    <block type="RTC_time">
      <value name="hour">
        <shadow type="math_number">
          <field name="NUM">8</field>
        </shadow>
      </value><value name="minute">
        <shadow type="math_number">
          <field name="NUM">0</field>
        </shadow>
      </value>
      <value name="second">
        <shadow type="math_number" >
          <field name="NUM">0</field>
        </shadow>
      </value>
    </block>
  </value>
</block>
<block type="get_system_date_time">
  <field name="type">DATE</field> 
</block>
<block type="Arduino_keypad_4_4_start">
  <value name="keypad_name">
  </value>
  <value name="keypad_row">
    <block type="keypad_row_data">
      <value name="keypad_row_1">
        <shadow type="pins_digital">
          <field name="PIN">2</field>
        </shadow>
      </value>
      <value name="keypad_row_2">
        <shadow type="pins_digital">
          <field name="PIN">3</field>
        </shadow>
      </value>
      <value name="keypad_row_3">
        <shadow type="pins_digital">
          <field name="PIN">4</field>
        </shadow>
      </value>
      <value name="keypad_row_4">
        <shadow type="pins_digital">
          <field name="PIN">5</field>
        </shadow>
      </value>
    </block>
  </value>
  <value name="keypad_col">
    <block type="keypad_col_data">
      <value name="keypad_col_1">
        <shadow type="pins_digital">
          <field name="PIN">6</field>
        </shadow>
      </value>
      <value name="keypad_col_2">
        <shadow type="pins_digital">
          <field name="PIN">7</field>
        </shadow>
      </value>
      <value name="keypad_col_3">
        <shadow type="pins_digital">
          <field name="PIN">8</field>
        </shadow>
      </value>
      <value name="keypad_col_4">
        <shadow type="pins_digital">
          <field name="PIN">9</field>
        </shadow>
      </value>
    </block>
  </value>
  <value name="keypad_type">
    <block type="keypad_type_data"></block>
  </value>
</block>
<block type="get_keypad_num">
  <value name="keypad_name"></value>
</block>
<block type="gps_init">
  <value name="RX">
   <shadow type="pins_digital"></shadow>
 </value>
 <value name="TX">
   <shadow type="pins_digital"></shadow>
 </value>
 <value name="CONTENT">
   <shadow type="math_number">
     <field name="NUM">4800</field>
   </shadow>
 </value>
</block>
<block type="controls_whileUntil">
  <field name="MODE">WHILE</field>
  <value name="BOOL">
    <block type="gps_data_available"></block>
  </value>
  <statement name="DO">
    <block type="controls_if">
     <value name="IF0">
       <block type="gps_data_encode"></block>
     </value>
     <statement name="DO0">
       <block type="controls_if">
        <value name="IF0">
          <block type="gps_xxx_isValid">
           <field name="WHAT">location</field>
         </block>
       </value>
       <statement name="DO0">
        <block type="serial_println">
         <field name="serial_select">Serial</field>
         <value name="CONTENT">
           <block type="gps_getData_xxx">
            <field name="WHAT">location.lat</field>
          </block>
        </value>
        <next>
         <block type="serial_println">
          <field name="serial_select">Serial</field>
          <value name="CONTENT">
            <block type="gps_getData_xxx">
             <field name="WHAT">location.lng</field>
           </block>
         </value>
       </block>
     </next>
   </block>
 </statement>
</block>
</statement>
</block>
</statement>
</block>
<block type="PS2_init">
</block>
<block type="PS2_update">
</block>
<block type="PS2_Button"></block>  
<block type="PS2_stk"></block> 
</category>
<category id="catActuator" colour="100">
  <category id="catActuator_motor" colour="100">
    <block type="Mixly_motor">
      <value name="PIN1">
        <shadow type="pins_digital">
          <field name="PIN">4</field>
        </shadow>
      </value>
      <value name="PIN2">
        <shadow type="pins_digital">
          <field name="PIN">5</field>
        </shadow>
      </value>
      <value name="PIN_EN">
        <shadow type="pins_pwm">
          <field name="PIN">6</field>
        </shadow>
      </value>
      <value name="speed">
        <shadow type="math_number">
          <field name="NUM">100</field>
        </shadow>
      </value>
    </block>
    <block type="Motor_8833">
      <value name="PIN1">
        <shadow type="pins_pwm">
          <field name="PIN">5</field>
        </shadow>
      </value>
      <value name="PIN2">
        <shadow type="pins_digital">
          <field name="PIN">4</field>
        </shadow>
      </value>
      <value name="speed">
        <shadow type="math_number">
          <field name="NUM">100</field>
        </shadow>
      </value>
    </block>
    <block type="AFMotorRun">
      <value name="speed">
        <shadow type="math_number">
          <field name="NUM">100</field>
        </shadow>
      </value>
    </block>
    <block type="AFMotorStop">
    </block>
    <block type="servo_move">
      <value name="PIN">
        <shadow type="pins_digital"></shadow>
      </value>
      <value name="DEGREE">
        <shadow type="math_number">
          <field name="NUM">0</field>
        </shadow>
      </value>
      <value name="DELAY_TIME">
        <shadow type="math_number">
          <field name="NUM">0</field>
        </shadow>
      </value>
    </block>
    <block type="servo_writeMicroseconds">
      <value name="PIN">
       <shadow type="pins_digital"></shadow>
     </value>
     <value name="DEGREE">
      <shadow type="math_number">
        <field name="NUM">1500</field>
      </shadow>
    </value>
  </block>
  <block type="servo_read_degrees">
    <value name="PIN">
     <shadow type="pins_digital"></shadow>
   </value>
 </block>
 <block type="group_stepper_setup">
  <value name="PIN1">
   <shadow type="pins_digital">
    <field name="PIN">1</field>
  </shadow>
</value>
<value name="PIN2">
 <shadow type="pins_digital">
  <field name="PIN">2</field>
</shadow>
</value>
<value name="steps">
  <shadow type="math_number">
    <field name="NUM">100</field>
  </shadow>
</value>
<value name="speed">
  <shadow type="math_number">
    <field name="NUM">10</field>
  </shadow>
</value>
</block>
<block type="group_stepper_setup2">
  <value name="PIN1">
   <shadow type="pins_digital">
    <field name="PIN">1</field>
  </shadow>
</value>
<value name="PIN2">
 <shadow type="pins_digital">
  <field name="PIN">2</field>
</shadow>
</value>
<value name="PIN3">
 <shadow type="pins_digital">
  <field name="PIN">3</field>
</shadow>
</value>
<value name="PIN4">
 <shadow type="pins_digital">
  <field name="PIN">4</field>
</shadow>
</value>
<value name="steps">
  <shadow type="math_number">
    <field name="NUM">100</field>
  </shadow>
</value>
<value name="speed">
  <shadow type="math_number">
    <field name="NUM">10</field>
  </shadow>
</value>
</block>
<block type="group_stepper_move">
  <value name="step">
    <shadow type="math_number">
      <field name="NUM">10</field>
    </shadow>
  </value>
</block>
</category>
<category id="catActuator_voice" colour="100">
  <block type="controls_tone">
    <value name="PIN">
     <shadow type="pins_digital"></shadow>
   </value>
   <value name="FREQUENCY">
    <shadow type="tone_notes"></shadow>
  </value>
</block>
<block type="controls_notone">
  <value name="PIN">
   <shadow type="pins_digital"></shadow>
 </value>
</block>
<block type="controls_tone_noTimer">
  <value name="PIN">
   <shadow type="pins_digital"></shadow>
 </value>
 <value name="FREQUENCY">
  <shadow type="tone_notes"></shadow>
</value>
<value name="DURATION">
  <shadow type="math_number">
    <field name="NUM">1000</field>
  </shadow>
</value>
</block>
<block type="controls_notone_noTimer">
  <value name="PIN">
   <shadow type="pins_digital"></shadow>
 </value>
</block>
<block type="GD5800_MP3_CONTROL">
  <value name="RXPIN">
    <shadow type="pins_digital" />
    <field name="PIN">4</field>
  </value>
  <value name="TXPIN">
    <shadow type="pins_digital" />
    <field name="PIN">5</field>
  </value>
</block>
<block type="GD5800_MP3_PLAY_NUM">
  <value name="RXPIN">
    <shadow type="pins_digital" />
    <field name="PIN">4</field>
  </value>
  <value name="TXPIN">
    <shadow type="pins_digital" />
    <field name="PIN">5</field>
  </value>
  <value name="NUM">
    <shadow type="math_number">
      <field name="NUM">2</field>
    </shadow>
  </value>
</block>
<block type="GD5800_MP3_LOOP_MODE">
  <value name="RXPIN">
    <shadow type="pins_digital" />
    <field name="PIN">4</field>
  </value>
  <value name="TXPIN">
    <shadow type="pins_digital" />
    <field name="PIN">5</field>
  </value>
</block>
<block type="GD5800_MP3_EQ_MODE">
  <value name="RXPIN">
    <shadow type="pins_digital" />
    <field name="PIN">4</field>
  </value>
  <value name="TXPIN">
    <shadow type="pins_digital" />
    <field name="PIN">5</field>
  </value>
</block>
<block type="GD5800_MP3_VOL">
  <value name="RXPIN">
    <shadow type="pins_digital" />
    <field name="PIN">4</field>
  </value>
  <value name="TXPIN">
    <shadow type="pins_digital" />
    <field name="PIN">5</field>
  </value>
  <value name="vol">
    <shadow type="math_number">
      <field name="NUM">20</field>
    </shadow>
  </value>
</block>
<block type="voice_module">
  <value name="PIN">
    <shadow type="pins_digital"/>
  </value>
  <value name="WAIT">
    <shadow type="math_number">
      <field name="NUM">1000</field>
    </shadow>
  </value>
</block>
<block type="serial_softserial">
  <field name="serial_select">mySerial</field>
  <value name="RX">
    <shadow type="pins_digital">
      <field name="PIN">10</field>
    </shadow>
  </value>
  <value name="TX">
    <shadow type="pins_digital">
      <field name="PIN">11</field>
    </shadow>
  </value>
  <next>
    <block type="serial_begin">
      <field name="serial_select">mySerial</field>
      <value name="CONTENT">
        <shadow type="math_number">
          <field name="NUM">9600</field>
        </shadow>
      </value>
      <next>
        <block type="arduino_dfplayer_mini_begin">
          <field name="dfplayer_name">myPlayer</field>
          <value name="dfplayer_pin">
            <shadow type="arduino_dfplayer_mini_pin">
              <field name="pin_type">mySerial</field>
            </shadow>
          </value>
        </block>
      </next>
    </block>
  </next>
</block>
<block type="arduino_dfplayer_mini_setTimeOut">
  <value name="timeout_data">
    <shadow type="math_number">
      <field name="NUM">500</field>
    </shadow>
  </value>
</block>
<block type="arduino_dfplayer_mini_volume">
  <value name="volume_data">
    <shadow type="math_number">
      <field name="NUM">15</field>
    </shadow>
  </value>
</block>

<block type="arduino_dfplayer_mini_volume_up_down">
</block>
<block type="arduino_dfplayer_mini_EQ">
  <field name="dfplayer_name">myPlayer</field>
  <value name="eq_data">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
    <block type="arduino_dfplayer_mini_EQ_type">
      <field name="eq_type">DFPLAYER_EQ_NORMAL</field>
    </block>
  </value>
</block>
<block type="arduino_dfplayer_mini_outputDevice">
  <field name="dfplayer_name">myPlayer</field>
  <value name="outputdevice_data">
    <shadow type="math_number">
      <field name="NUM">2</field>
    </shadow>
    <block type="arduino_dfplayer_mini_outputDevice_type">
      <field name="outputdevice_type">DFPLAYER_DEVICE_SD</field>
    </block>
  </value>
</block>
<block type="arduino_dfplayer_set_1">
</block>
<block type="arduino_dfplayer_play_loop">
  <value name="play_data">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
</block>
<block type="arduino_dfplayer_playFolder">
  <value name="fold_data">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
  <value name="play_data">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
</block>
<block type="arduino_dfplayer_loopFolder">
  <value name="fold_data">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
</block>
<block type="arduino_dfplayer_read_now">
</block>
<block type="arduino_dfplayer_readFileCounts">
  <field name="dfplayer_name">myPlayer</field>
  <field name="play_data">readFileCounts</field>
  <value name="device_type">
    <shadow type="math_number">
      <field name="NUM">2</field>
    </shadow>
    <block type="arduino_dfplayer_mini_outputDevice_type">
      <field name="outputdevice_type">DFPLAYER_DEVICE_SD</field>
    </block>
  </value>
</block>
<block type="arduino_dfplayer_readFileCountsInFolder">
  <value name="folder_data">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
</block>
<block type="arduino_dfplayer_available">
</block>
</category>
<category id="catActuator_light" colour="100">
  <block type="RGB_color_seclet" >
   <field name="COLOR">#ff0000</field>
 </block>
 <block type="RGB_color_rgb">
  <value name="R">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
  <value name="G">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
  <value name="B">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
</block>
<block type="display_rgb_init">
  <value name="PIN">
    <shadow type="pins_digital" />
  </value>
  <value name="LEDCOUNT">
    <shadow type="math_number">
      <field name="NUM">4</field>
    </shadow>
  </value>
  <value name="Brightness">
    <shadow type="math_number">
      <field name="NUM">20</field>
    </shadow>
  </value>
</block>
<block type="display_rgb_Brightness">
  <value name="PIN">
    <shadow type="pins_digital" />
  </value>
  <value name="Brightness">
    <shadow type="math_number">
      <field name="NUM">20</field>
    </shadow>
  </value>
</block>
<block type="display_rgb">
  <value name="PIN">
    <shadow type="pins_digital" />
  </value>
  <value name="_LED_">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
  <value name="COLOR">
    <shadow type="math_number">
      <field name="NUM">
      </field>
    </shadow>
    <block type="RGB_color_rgb">
      <value name="R">
        <shadow type="math_number">
          <field name="NUM">0</field>
        </shadow>
      </value>
      <value name="G">
        <shadow type="math_number">
          <field name="NUM">0</field>
        </shadow>
      </value>
      <value name="B">
        <shadow type="math_number">
          <field name="NUM">0</field>
        </shadow>
      </value>
    </block>
  </value>
</block>
<block type="RGB_color_HSV">
  <value name="PIN">
    <shadow type="pins_digital" />
  </value>
  <value name="_LED_">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
  <value name="H">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
  <value name="S">
    <shadow type="math_number">
      <field name="NUM">255</field>
    </shadow>
  </value>
  <value name="V">
    <shadow type="math_number">
      <field name="NUM">255</field>
    </shadow>
  </value>
</block>
<block type="display_rgb_show">
</block>
<block type="display_rgb_rainbow1">
  <value name="PIN">
    <shadow type="pins_digital" />
  </value>
  <value name="WAIT">
    <shadow type="math_number">
      <field name="NUM">20</field>
    </shadow>
  </value>
  <value name="Brightness">
    <shadow type="math_number">
      <field name="NUM">20</field>
    </shadow>
  </value>
</block>
<block type="display_rgb_rainbow3">
  <value name="PIN">
    <shadow type="pins_digital" />
  </value>
  <value name="rainbow_color">
    <shadow type="math_number">
      <field name="NUM">20</field>
    </shadow>
  </value>
</block>
</category>
</category>
<category id="catMonitor" colour="180">
  <category id="cat4Digitdisplay" colour="180">
    <block type="display_4digitdisplay_power">
      <field name="STAT">clear</field>
    </block>
    <block type="display_4digitdisplay_displayString">
      <value name="VALUE">
        <shadow type="text">
          <field name="TEXT">abcd</field>
        </shadow>
      </value>
    </block>
    <block type="display_4digitdisplay_showDot"></block>
    <block type="display_TM1637_init">
    </block>
    <block type="display_TM1637_Brightness">
      <value name="Brightness">
        <shadow type="math_number">
          <field name="NUM">20</field>
        </shadow>
      </value>
    </block>
    <block type="display_TM1637_clearDisplay"></block>
    <block type="display_TM1637_displyPrint">
      <value name="VALUE">
        <shadow type="text">
          <field name="TEXT">2345</field>
        </shadow>
      </value>
      <value name="Speed">
        <shadow type="math_number">
          <field name="NUM">300</field>
        </shadow>
      </value>
    </block>
    <block type="display_TM1637_displayTime">
      <value name="hour">
        <shadow type="math_number">
          <field name="NUM">12</field>
        </shadow>
      </value>
      <value name="minute">
        <shadow type="math_number">
          <field name="NUM">30</field>
        </shadow>
      </value>
      <value name="STAT">
        <shadow type="inout_highlow">
        </shadow>
      </value>
    </block>
  </category>
  <category id="catLCD" colour="180">
    <block type="group_lcd_init2">
      <value name="device">
        <shadow type="math_number">
          <field name="NUM">0x27</field>
        </shadow>
      </value>
    </block>
    <block type="group_lcd_init3">
      <field name="RS">7</field>
      <field name="EN">8</field>
      <field name="D4">9</field>
      <field name="D5">10</field>
      <field name="D6">11</field>
      <field name="D7">12</field>
    </block>
    <block type="group_lcd_print">
      <value name="TEXT">
       <block type="text">
        <field name="TEXT"></field>
      </block>
    </value>
    <value name="TEXT2">
     <block type="text">
      <field name="TEXT"></field>
    </block>
  </value>
</block>
<block type="group_lcd_print2">
  <value name="row">
   <shadow type="math_number">
    <field name="NUM">1</field>
  </shadow>
</value>
<value name="column">
 <shadow type="math_number">
  <field name="NUM">1</field>
</shadow>
</value>
<value name="TEXT">
 <block type="text">
  <field name="TEXT"></field>
</block>
</value>
</block>
-<block type="lcd_display_pattern">
  <field name="name">mylcd</field>
  <field name="number">0</field>
  <value name="row">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
  <value name="column">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
  <value name="pattern">
    <block type="lcd_pattern">
      <field name=\ "VAR\">lcd</field>
      <field name=\ "a81\">FALSE</field>
      <field name=\ "a82\">FALSE</field>
      <field name=\ "a83\">FALSE</field>
      <field name=\ "a84\">FALSE</field>
      <field name=\ "a85\">FALSE</field>
      <field name=\ "a71\">FALSE</field>
      <field name=\ "a72\">TRUE</field>
      <field name=\ "a73\">TRUE</field>
      <field name=\ "a74\">TRUE</field>
      <field name=\ "a75\">FALSE</field>
      <field name=\ "a61\">TRUE</field>
      <field name=\ "a62\">FALSE</field>
      <field name=\ "a63\">FALSE</field>
      <field name=\ "a64\">FALSE</field>
      <field name=\ "a65\">TRUE</field>
      <field name=\ "a51\">TRUE</field>
      <field name=\ "a52\">FALSE</field>
      <field name=\ "a53\">TRUE</field>
      <field name=\ "a54\">FALSE</field>
      <field name=\ "a55\">TRUE</field>
      <field name=\ "a41\">TRUE</field>
      <field name=\ "a42\">FALSE</field>
      <field name=\ "a43\">TRUE</field>
      <field name=\ "a44\">FALSE</field>
      <field name=\ "a45\">TRUE</field>
      <field name=\ "a31\">TRUE</field>
      <field name=\ "a32\">FALSE</field>
      <field name=\ "a33\">FALSE</field>
      <field name=\ "a34\">FALSE</field>
      <field name=\ "a35\">TRUE</field>
      <field name=\ "a21\">FALSE</field>
      <field name=\ "a22\">TRUE</field>
      <field name=\ "a23\">TRUE</field>
      <field name=\ "a24\">TRUE</field>
      <field name=\ "a25\">FALSE</field>
      <field name=\ "a11\">FALSE</field>
      <field name=\ "a12\">FALSE</field>
      <field name=\ "a13\">FALSE</field>
      <field name=\ "a14\">FALSE</field>
      <field name=\ "a15\">FALSE</field>
    </block>
  </value>
</block>
<block type="group_lcd_power">
  <field name="STAT">clear</field>
</block>
</category>
<category id="catOLED" colour="180">
  <block type="oled_init">
    <value name="ADDRESS">
      <shadow type="math_number">
        <field name="NUM">0x3C</field>
      </shadow>
    </value>
    <next>
      <block type="oled_page">
        <statement name="DO">
          <block type="procedures_callnoreturn">
            <mutation name="page1"></mutation>
          </block>
        </statement>
      </block>
    </next>
  </block>
  <block type="u8g2_spi_init">
    <field name="U8G2_TYPE_SPI">SSD1306_128X64_NONAME</field>
    <field name="ROTATION">U8G2_R0</field>
    <field name="CS">10</field>
    <field name="DC">9</field>
    <field name="RST">8</field>
    <next>
      <block type="oled_page">
        <statement name="DO">
          <block type="procedures_callnoreturn">
            <mutation name="page1"></mutation>
          </block>
        </statement>
      </block>
    </next>
  </block>
  <block type="u8g2_LCD12864_spi_init">
    <field name="ROTATION">U8G2_R0</field>
    <value name="CLK">
      <shadow type="pins_SCK">
      </shadow>
    </value>
    <value name="MOSI">
      <shadow type="pins_MOSI">
      </shadow>
    </value>
    <field name="DC">10</field>
    <next>
      <block type="oled_page">
        <statement name="DO">
          <block type="procedures_callnoreturn">
            <mutation name="page1"></mutation>
          </block>
        </statement>
      </block>
    </next>
  </block>
  <block type="u8g2_LCD12864_8080_init">
    <field name="ROTATION">U8G2_R0</field>
    <field name="DB0">2</field>
    <field name="DB1">3</field>
    <field name="DB2">4</field>
    <field name="DB3">5</field>
    <field name="DB4">6</field>
    <field name="DB5">7</field>
    <field name="DB6">8</field>
    <field name="DB7">9</field>
    <field name="ENABLE">10</field>
    <field name="DC">11</field>
    <next>
      <block type="oled_page">
        <statement name="DO">
          <block type="procedures_callnoreturn">
            <mutation name="page1"></mutation>
          </block>
        </statement>
      </block>
    </next>
  </block>

  <sep gap="50"></sep>

  <block type="oled_set_EN_Font">
  </block>

  <block type="procedures_defnoreturn">
    <field name="NAME">page1</field>
    <statement name="STACK">
      <block type="oled_set_EN_Font">
        <field name="TYPE">timR08_tr</field>
        <next>
          <block type="oled_print" >
            <value name="POS_X">
              <shadow type="math_number">
                <field name="NUM">0</field>
              </shadow>
            </value>
            <value name="POS_Y">
              <shadow type="math_number">
                <field name="NUM">20</field>
              </shadow>
            </value>
            <value name="TEXT">
              <shadow type="text">
                <field name="TEXT">1234</field>
              </shadow>
            </value>
          </block>
        </next>
      </block>
    </statement>
  </block>
  <!-- <block type="oled_define_bitmap_data"></block> -->
  <block type="tool_modulus_show">
    <field name="VAR">bitmap</field>
    <field name="x">96</field>
    <field name="save_hz">TRUE</field>
    <value name="input_data">
      <block type="tool_modulus">
        <field name="bitmap_formats">1</field>
        <field name="modulus_way">2</field>
        <field name="modulus_direction">2</field>
        <field name="hz_sharp">STHeiti</field>
        <field name="hz_line_height">16</field>
        <field name="hz_up_down">hz_up</field>
        <field name="hz_up_down_data">0</field>
        <field name="hz_left_right">hz_left</field>
        <field name="hz_left_right_data">0</field>
        <field name="bitmap_width">48</field>
        <field name="bitmap_height">16</field>
        <field name="show_hz">TRUE</field>
        <field name="input_data">米思齐</field>
      </block>
    </value>
  </block>
  <block type="oled_showBitmap" >
    <value name="START_X">
      <shadow type="math_number">
        <field name="NUM">0</field>
      </shadow>
    </value>
    <value name="START_Y">
      <shadow type="math_number">
        <field name="NUM">0</field>
      </shadow>
    </value>
    <value name="WIDTH">
      <shadow type="math_number">
        <field name="NUM">128</field>
      </shadow>
    </value>
    <value name="HEIGHT">
      <shadow type="math_number">
        <field name="NUM">64</field>
      </shadow>
    </value>
    <value name="bitmap_name">
      <block type="text">
        <field name="TEXT">bitmap1</field>
      </block>
    </value>
  </block>
  <block type="oled_clear"></block>
  <block type="u8g2_setContrast">
   <value name="Contrast">
    <shadow type="math_number">
      <field name="NUM">100</field>
    </shadow>
  </value> 
</block>
<block type="oled_face">
 <value name="POS_X">
  <shadow type="math_number">
    <field name="NUM">20</field>
  </shadow>
</value>
<value name="POS_Y">
  <shadow type="math_number">
    <field name="NUM">0</field>
  </shadow>
</value>
<field name="Icon_size"></field>
</block>
<block type="oled_icons">
 <value name="POS_X">
  <shadow type="math_number">
    <field name="NUM">0</field>
  </shadow>
</value>
<value name="POS_Y">
  <shadow type="math_number">
    <field name="NUM">20</field>
  </shadow>
</value>
<field name="Icon_size"></field>
</block>
<block type="oled_drawPixel" >
  <value name="POS_X">
    <shadow type="math_number">
      <field name="NUM">64</field>
    </shadow>
  </value>
  <value name="POS_Y">
    <shadow type="math_number">
      <field name="NUM">32</field>
    </shadow>
  </value>
</block>
<block type="oled_drawLine">
  <value name="START_X">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
  <value name="START_Y">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
  <value name="END_X">
    <shadow type="math_number">
      <field name="NUM">15</field>
    </shadow>
  </value>
  <value name="END_Y">
    <shadow type="math_number">
      <field name="NUM">20</field>
    </shadow>
  </value>
</block>
<block type="oled_draw_Str_Line">
  <value name="START_X">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
  <value name="START_Y">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
  <value name="LENGTH">
    <shadow type="math_number">
      <field name="NUM">30</field>
    </shadow>
  </value>
</block>
<block type="oled_drawFrame">
  <value name="D0_X">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
  <value name="D0_Y">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
  <value name="WIDTH">
    <shadow type="math_number">
      <field name="NUM">10</field>
    </shadow>
  </value>
  <value name="HEIGHT">
    <shadow type="math_number">
      <field name="NUM">20</field>
    </shadow>
  </value>
</block>
<block type="oled_drawRFrame">
  <value name="D0_X">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
  <value name="D0_Y">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
  <value name="WIDTH">
    <shadow type="math_number">
      <field name="NUM">10</field>
    </shadow>
  </value>
  <value name="HEIGHT">
    <shadow type="math_number">
      <field name="NUM">20</field>
    </shadow>
  </value>
  <value name="RADIUS">
    <shadow type="math_number">
      <field name="NUM">3</field>
    </shadow>
  </value>
</block>
<block type="oled_drawCircle">
  <value name="D0_X">
    <shadow type="math_number">
      <field name="NUM">30</field>
    </shadow>
  </value>
  <value name="D0_Y">
    <shadow type="math_number">
      <field name="NUM">30</field>
    </shadow>
  </value>
  <value name="RADIUS">
    <shadow type="math_number">
      <field name="NUM">6</field>
    </shadow>
  </value>
</block>
<block type="oled_drawEllipse">
  <value name="D0_X">
    <shadow type="math_number">
      <field name="NUM">30</field>
    </shadow>
  </value>
  <value name="D0_Y">
    <shadow type="math_number">
      <field name="NUM">30</field>
    </shadow>
  </value>
  <value name="RADIUS_X">
    <shadow type="math_number">
      <field name="NUM">6</field>
    </shadow>
  </value>
  <value name="RADIUS_Y">
    <shadow type="math_number">
      <field name="NUM">15</field>
    </shadow>
  </value>
</block>
<block type="oled_drawTriangle" >
  <value name="D0_X">
    <shadow type="math_number">
      <field name="NUM">14</field>
    </shadow>
  </value>
  <value name="D0_Y">
    <shadow type="math_number">
      <field name="NUM">55</field>
    </shadow>
  </value>
  <value name="D1_X">
    <shadow type="math_number">
      <field name="NUM">45</field>
    </shadow>
  </value>
  <value name="D1_Y">
    <shadow type="math_number">
      <field name="NUM">33</field>
    </shadow>
  </value>
  <value name="D2_X">
    <shadow type="math_number">
      <field name="NUM">8</field>
    </shadow>
  </value>
  <value name="D2_Y">
    <shadow type="math_number">
      <field name="NUM">43</field>
    </shadow>
  </value>
</block>
</category>
<category id="catMatrix" colour="180">
  <block type="MAX7219_init">
    <value name="PIN1">
      <shadow type="pins_MOSI">
      </shadow>
    </value>
    <value name="PIN2">
      <shadow type="pins_digital">
        <field name="PIN">9</field>
      </shadow>
    </value>
    <value name="PIN3">
      <shadow type="pins_SCK">
      </shadow>
    </value>
    <value name="hDisplays">
      <shadow type="math_number">
        <field name="NUM">1</field>
      </shadow>
    </value>
    <value name="vDisplays">
      <shadow type="math_number">
        <field name="NUM">1</field>
      </shadow>
    </value>
  </block>
  <block type="HT16K33_Init">
    <value name="PIN1">
      <shadow type="pins_digital">
        <field name="PIN">SDA</field>
      </shadow>
    </value>
    <value name="PIN2">
      <shadow type="pins_digital">
        <field name="PIN">SCL</field>
      </shadow>
    </value>
  </block>
  <block type="display_Matrix_DrawPixel">
    <value name="XVALUE">
      <shadow type="math_number">
        <field name="NUM">1</field>
      </shadow>
    </value>
    <value name="YVALUE">
      <shadow type="math_number">
        <field name="NUM">1</field>
      </shadow>
    </value>
    <value name="STAT">
      <shadow type="inout_highlow"></shadow>
    </value>
  </block>
  <block type="display_Max7219_Rotation">
    <value name="NO">
      <shadow type="math_number">
        <field name="NUM">1</field>
      </shadow>
    </value>
  </block>
  <block type="display_Max7219_setPosition">
    <value name="NO">
      <shadow type="math_number">
        <field name="NUM">1</field>
      </shadow>
    </value>
    <value name="X">
      <shadow type="math_number">
        <field name="NUM">1</field>
      </shadow>
    </value>
    <value name="Y">
      <shadow type="math_number">
        <field name="NUM">1</field>
      </shadow>
    </value>
  </block>
  <block type="display_HT16K33_Rotation">
  </block>
  <block type="display_Matrix_TEXT">
    <value name="TEXT">
      <shadow type="text">
        <field name="TEXT">Mixly</field>
      </shadow>
    </value>
    <value name="Speed">
      <shadow type="math_number">
        <field name="NUM">300</field>
      </shadow>
    </value>
  </block>
  <block type="display_Matrix_print">
    <value name="TEXT">
      <shadow type="text">
        <field name="TEXT">Mixly</field>
      </shadow>
    </value>
  </block>
  <block type="display_Matrix_DisplayChar">
    <value name="NO">
      <shadow type="math_number">
        <field name="NUM">0</field>
      </shadow>
    </value>
    <value name="LEDArray">
      <block type="display_Matrix_LedArray"></block>
    </value>
  </block>
  <block type="Matrix_img">
  </block>
  <block type="display_Matrix_fillScreen">
  </block>
  <block type="display_Matrix_Brightness">
   <value name="Brightness">
    <shadow type="math_number">
      <field name="NUM">5</field>
    </shadow>
  </value>
</block>
</category>
</category>
<category id="catGroup"  colour="140">
  <category id="catIR"  colour="140">
    <block type="ir_recv">
      <field name="VAR">ir_item</field>
      <value name="PIN">
        <shadow type="pins_digital">
          <field name="PIN">0</field>
        </shadow>
      </value>
      <statement name="DO">
        <block type="serial_print_num">
          <field name="serial_select">Serial</field>
          <field name="new_line">println</field>
          <field name="STAT">HEX</field>
          <value name="CONTENT">
            <block type="variables_get" >
              <field name="VAR">ir_item</field>
            </block>
          </value>
        </block>
      </statement>
    </block>
    <block type="ir_send_nec">
      <value name="data">
        <shadow type="math_number">
          <field name="NUM">0x89ABCDEF</field>
        </shadow>
      </value>
      <value name="bits">
        <shadow type="math_number">
          <field name="NUM">32</field>
        </shadow>
      </value>
    </block>
    <block type="ir_recv_enable">
      <value name="PIN">
        <shadow type="pins_digital"></shadow>
      </value>
    </block>
    <block type="ir_recv_raw">
      <value name="PIN">
        <shadow type="pins_digital"></shadow>
      </value>
    </block>
    <block type="ir_send_raw">
     <value name="length">
      <shadow type="math_number">
        <field name="NUM">3</field>
      </shadow>
    </value>
    <value name="freq">
      <shadow type="math_number">
        <field name="NUM">38</field>
      </shadow>
    </value>
  </block>
</category>
<category id="catI2C"  colour="140">
  <block type="i2c_master_Init"> </block>
  <block type="i2c_slave_Init"> 
   <value name="i2c_address">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
</block>
<block type="i2c_begin_end_transmission">
  <value name="i2c_address">
    <shadow type="math_number">
      <field name="NUM">8</field>
    </shadow>
  </value>
</block>
<block type="i2c_write">
  <value name="i2c_write_data">
    <shadow type="text">
      <field name="TEXT"></field>
    </shadow>
  </value>
</block>
<block type="i2c_master_reader">
  <value name="device">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
  <value name="bytes">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
</block>
<block type="i2c_master_writerReg">
  <value name="device">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
  <value name="regadd">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
  <value name="value">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
</block>    
<block type="i2c_master_readerReg">   
  <value name="device">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
  <value name="regadd">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
  <value name="bytes">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
</block>
<block type="i2c_slave_write_array">
  <value name="array">
    <shadow type="math_number">
      <field name="NUM">array</field>
    </shadow>
  </value>
  <value name="length">
    <shadow type="math_number">
      <field name="NUM">1</field>
    </shadow>
  </value>
</block>
<block type="i2c_available"></block>
<block type="i2c_read"></block>
<block type="i2c_howmany">
</block>
<block type="i2c_slave_onreceive">
  <value name="onReceive_length">
    <block type="variables_get">
      <field name="VAR">howMany</field> 
    </block>
  </value>
</block>
<block type="i2c_slave_onrequest">
</block>
</category>
<category id="catSPI"  colour="140">
  <block type="spi_begin_master" >
   <value name="spi_slave_pin">
     <shadow type="pins_digital" >
       <field name="PIN">10</field>
     </shadow>
   </value>
 </block>
 <block type="spi_begin_slave">
 </block>
 <block type="spi_transfer">
  <value name="pin">
    <shadow type="pins_digital"></shadow>
  </value>
  <value name="value">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
</block>
<block type="spi_transfer_Init">
  <value name="slave_pin">
    <shadow type="pins_digital">
      <field name="PIN">10</field>
    </shadow>
  </value>
</block>
<block type="spi_transfer_1">
  <value name="transfer_data">
    <shadow type="text_char">
      <field name="TEXT">A</field>
    </shadow>
  </value>
</block>
<block type="spi_transfer_2">
  <value name="transfer_data">
    <shadow type="text_char">
      <field name="TEXT">A</field>
    </shadow>
  </value>
</block>
<block type="spi_slave_interrupt">
  <value name="slave_interrupt_input">
    <block type="variables_get">
      <field name="VAR">SPDR</field>
    </block>
  </value>
</block>
<block type="spi_slave_receive">
  <value name="slave_receive_data">
    <block type="variables_get">
      <field name="VAR">SPDR</field>
    </block>
  </value>
</block>
</category>
<category id="catRFID"  colour="140">
  <block type="MFRC522_init">
    <value name="PIN_SDA">
      <shadow type="pins_digital">
        <field name="PIN">10</field>
      </shadow>
    </value>
    <value name="PIN_RST">
      <shadow type="pins_digital">
        <field name="PIN">9</field>
      </shadow>
    </value>
  </block>
  <block type="MFRC522_IsNewCard">
  </block>
  <block type="MFRC522_ReadCardUID">
  </block>
  <block type="MFRC522_WriteCard">
    <value name="block">
      <shadow type="math_number">
        <field name="NUM">1</field>
      </shadow>
    </value>
    <value name="buffer">
      <shadow type="math_number">
        <field name="NUM">mylist</field>
      </shadow>
    </value>
    <value name="length">
      <shadow type="math_number">
        <field name="NUM">16</field>
      </shadow>
    </value>
  </block>
  <block type="MFRC522_ReadCard">
    <value name="block">
      <shadow type="math_number">
        <field name="NUM">1</field>
      </shadow>
    </value>
    <value name="buffer">
      <shadow type="math_number">
        <field name="NUM">mylist</field>
      </shadow>
    </value>
    <value name="length">
      <shadow type="math_number">
        <field name="NUM">16</field>
      </shadow>
    </value>
  </block>
</category>
</category>
<category id="catStorage" colour="0">
 <category id="catStorageSD" colour="0">
  <block type="store_sd_init">
    <value name="PIN_MOSI">
      <shadow type="pins_MOSI">
      </shadow>
    </value>
    <value name="PIN_MISO">
      <shadow type="pins_MISO">
      </shadow>
    </value>
    <value name="PIN_SCK">
      <shadow type="pins_SCK">
      </shadow>
    </value>
    <value name="PIN_CS">
      <shadow type="pins_digital">
        <field name="PIN">4</field>
      </shadow>
    </value>
  </block>
  <block type="sd_card_type"> </block>
  <block type="sd_card_root_files"> </block>
  <block type="sd_volume"></block>
  <block type="sd_exist"> </block>
  <block type="sd_DelFile"> </block>
  <block type="sd_read"> </block>
  <block type="store_sd_write">
    <field name="FILE">fileName.txt</field>
    <value name="DATA">
     <shadow type="text">
      <field name="TEXT">hello world</field>
    </shadow>
  </value>
  <value name="NEWLINE">
   <shadow type="logic_boolean">
    <field name="BOOL">TRUE</field>
  </shadow>
</value>
</block>
</category>
<category id="catStorageEEPROM" colour="0">
  <block type="store_eeprom_put">
    <value name="ADDRESS">
      <shadow type="math_number">
        <field name="NUM">0</field>
      </shadow>
    </value>
    <value name="DATA">
      <shadow type="math_number">
        <field name="NUM">0</field>
      </shadow>
    </value>
  </block>
  <block type="store_eeprom_get">
    <value name="ADDRESS">
      <shadow type="math_number">
        <field name="NUM">0</field>
      </shadow>
    </value>
    <value name="DATA">
      <shadow type="math_number">
        <field name="NUM">item</field>
      </shadow>
    </value>
  </block>
</category> 
</category>
<category id="catNetwork" colour="0">
  <category id="catEthernet" colour="0">
   <block type="ethernet_init_begin">
     <value name="MAC">
      <block type="ethernet_mac_address"></block>
    </value>
  </block>
  <block type="ethernet_init_local_ip"></block>
  <block type="ethernet_client_connect_server">
   <value name="PORT">
     <shadow type="math_number">
      <field name="NUM">80</field>
    </shadow>
  </value>
</block>
<block type="ethernet_client_connected"></block>
<block type="ethernet_client_available"></block>
<block type="ethernet_client_read"></block>
<block type="ethernet_client_stop"></block>
<block type="ethernet_client_print">
 <value name="TEXT">
   <block type="text">
    <field name="TEXT"></field>
  </block>
</value>
</block>
<block type="ethernet_client_println">
 <value name="TEXT">
   <block type="text">
    <field name="TEXT"></field>
  </block>
</value>
</block>
<block type="ethernet_client_get_request"></block>
</category>
<category id="catBlynk" name="catBlynk" colour="160">
  <block type="blynk_usb_server">
    <value name="auth_key">
      <shadow type="text">
        <field name="TEXT">d9efdd0413ec4b74ab0057a0b8675654</field>n</shadow>
      </value>
    </block>
    <block type="blynk_server">
      <value name="server_add">
        <shadow type="text">
          <field name="TEXT">blynk.mixly.org</field>
        </shadow>
      </value>
      <value name="auth_key">
        <shadow type="text">
          <field name="TEXT">d9efdd0413ec4b74ab0057a0b8675654</field>
        </shadow>
      </value>
      <value name="wifi_ssid">
        <shadow type="text">
          <field name="TEXT">wifi-ssid</field>
        </shadow>
      </value>
      <value name="wifi_pass">
        <shadow type="text">
          <field name="TEXT">wifi-pass</field>
        </shadow>
      </value>
    </block>
    <block type="arduino_blynk_bluetooth">
      <value name="auth">
        <shadow type="text">
          <field name="TEXT">59d948d79fe642aab95c1577b1ad419d</field>
        </shadow>
      </value>
      <value name="TX">
        <shadow type="math_number">
          <field name="NUM">1</field>
        </shadow>
      </value>
      <value name="RX">
        <shadow type="math_number">
          <field name="NUM">0</field>
        </shadow>
      </value>
    </block>
    <block type="Blynk_connect_state"></block>
    <block type="blynk_iot_get_data">
      <mutation>
        <arg name="vpin_value" vartype="int"></arg>
      </mutation>
      <field name="Vpin">V0</field>
      <statement name="STACK">
        <block type="serial_println">
          <field name="serial_select">Serial</field>
          <value name="CONTENT">
            <block type="variables_get">
              <field name="VAR">vpin_value</field>
            </block>
          </value>
        </block>
      </statement>
    </block>
    <block type="Blynk_iot_timer">
      <mutation>
        <arg name="vpin_value" vartype="int"></arg>
      </mutation>
      <field name="Vpin">V0</field>
      <value name="TIME">
        <shadow type="math_number">
          <field name="NUM">1000</field>
        </shadow>
      </value>
      <statement name="DO">
        <block type="blynk_iot_push_data">
          <field name="Vpin">V0</field>
          <value name="data">
            <shadow type="math_number">
              <field name="NUM">0</field>
            </shadow>
          </value>
        </block>
      </statement>
    </block>
    <block type="blynk_iot_WidgetLED_COLOR">    
      <value name="COLOR">
        <shadow type="math_number">
          <field name="NUM">
          </field>
        </shadow>
        <block type="RGB_color_seclet" >
         <field name="COLOR">#ff0000</field>
       </block>
     </value>
     <value name="STAT">
      <shadow type="inout_highlow"></shadow>
    </value>
  </block>
  <block type="blynk_iot_WidgetLED_VALUE">
    <value name="NUM">
      <shadow type="math_number">
        <field name="NUM">0</field>
      </shadow>
    </value>
    <value name="COLOR">
      <shadow type="math_number">
        <field name="NUM">
        </field>
      </shadow>
      <block type="RGB_color_seclet" >
       <field name="COLOR">#ff0000</field>
     </block>
   </value>
 </block>
 <block type="blynk_email">
  <value name="email_add">
    <shadow type="text">
      <field name="TEXT">example@blynk.cc</field>
    </shadow>
  </value>
  <value name="Subject">
    <shadow type="text">
      <field name="TEXT">Subject</field>
    </shadow>
  </value>
  <value name="content">
    <shadow type="text">
      <field name="TEXT">Content</field>
    </shadow>
  </value>
</block>
<block type="blynk_notify">
  <value name="content">
    <shadow type="text">
      <field name="TEXT">Notify</field>
    </shadow>
  </value>
</block>
<block type="blynk_iot_terminal_get">
  <field name="Vpin">V0</field>
  <statement name="DO">
    <block type="serial_println">
      <field name="serial_select">Serial</field>
      <value name="CONTENT">
        <block type="variables_get">
          <field name="VAR">terminal_text</field>
        </block>
      </value>
    </block>
  </statement>
</block>
<block type="blynk_terminal_clear">
</block>
<block type="blynk_terminal">
  <value name="content">
    <shadow type="text">
      <field name="TEXT">Hello,World!</field>
    </shadow>
  </value>
</block>
<block type="blynk_time_input_1">
  <field name="Vpin">V0</field>
  <statement name="DO">
    <block type="serial_println">
      <field name="serial_select">Serial</field>
      <value name="CONTENT">
        <block type="variables_get">
          <field name="VAR">hour</field>
        </block>
      </value>
      <next>
        <block type="serial_println">
          <field name="serial_select">Serial</field>
          <value name="CONTENT">
            <block type="variables_get">
              <field name="VAR">minute</field>
            </block>
          </value>
          <next>
            <block type="serial_println">
              <field name="serial_select">Serial</field>
              <value name="CONTENT">
                <block type="variables_get">
                  <field name="VAR">second</field>
                </block>
              </value>
              <next>
              </next>
            </block>
          </next>
        </block>
      </next>
    </block>
  </statement>
</block>
<block type="blynk_lcd">
 <field name="Vpin">V0</field>
 <value name="x">
  <shadow type="math_number">
    <field name="NUM">0</field>
  </shadow>
</value>
<value name="y">
  <shadow type="math_number">
    <field name="NUM">0</field>
  </shadow>
</value>
<value name="value">
  <shadow type="math_number">
    <field name="NUM">923</field>
  </shadow>
</value> 
</block>
<block type="blynk_lcd_clear">
</block>
<block type="blynk_videourl">
  <value name="url">
    <shadow type="text">
      <field name="TEXT">http://yourvideostream.url</field>
    </shadow>
  </value>
</block>

<block type="blynk_table_add_data">
 <value name="name">
   <shadow type="text">
    <field name="TEXT">Test row</field>
  </shadow>
</value>
<value name="data">
 <shadow type="text">
  <field name="TEXT">hello</field>
</shadow>
</value>
</block>

<block type="blynk_table_click">
  <field name="Vpin">V0</field>
  <statement name="function">
    <block type="serial_println">
      <field name="serial_select">Serial</field>
      <value name="CONTENT">
        <block type="variables_get">
          <field name="VAR">index</field>
        </block>
      </value>
      <next>
        <block type="serial_println">
          <field name="serial_select">Serial</field>
          <value name="CONTENT">
            <block type="variables_get">
              <field name="VAR">selected</field>
            </block>
          </value>
        </block>
      </next>
    </block>
  </statement>
</block>

<block type="blynk_table_order">
  <field name="Vpin">V0</field>
  <statement name="function">
    <block type="serial_println">
      <field name="serial_select">Serial</field>
      <value name="CONTENT">
        <block type="variables_get">
          <field name="VAR">indexFrom</field>
        </block>
      </value>
      <next>
        <block type="serial_println">
          <field name="serial_select">Serial</field>
          <value name="CONTENT">
            <block type="variables_get">
              <field name="VAR">indexTo</field>
            </block>
          </value>
        </block>
      </next>
    </block>
  </statement>
</block>

<block type="blynk_table">
 <value name="xnyj">
  <shadow type="math_number">
    <field name="NUM">V0</field>
  </shadow> 
</value> 
<value name="id">
  <shadow type="math_number">
    <field name="NUM">0</field>
  </shadow>
</value> 
<value name="mingcheng">
  <shadow type="text">
    <field name="TEXT">Name</field>
  </shadow>
</value>
<value name="shujv">
  <shadow type="text">
    <field name="TEXT">John</field>
  </shadow>
</value>
</block>
<block type="blynk_table_update">
 <value name="xnyj">
  <shadow type="math_number">
    <field name="NUM">V0</field>
  </shadow>
  <value name="xnyj">
    <shadow type="math_number">
      <field name="NUM">V0</field>
    </shadow>
  </value> 
</value> 
<value name="id">
  <shadow type="math_number">
    <field name="NUM">0</field>
  </shadow>
</value> 
<value name="mingcheng">
  <shadow type="text">
    <field name="TEXT">Name</field>
  </shadow>
</value>
<value name="shujv">
  <shadow type="text">
    <field name="TEXT">John</field>
  </shadow>
</value>
</block>
<block type="blynk_table_highlight">
  <value name="xnyj">
    <shadow type="math_number">
      <field name="NUM">V0</field>
    </shadow>
    <value name="xnyj">
      <shadow type="math_number">
        <field name="NUM">V0</field>
      </shadow>
    </value> 
  </value> 
  <value name="id">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value> 
</block>
<block type="blynk_table_select">
  <value name="xnyj">
    <shadow type="math_number">
      <field name="NUM">V0</field>
    </shadow>
    <value name="xnyj">
      <shadow type="math_number">
        <field name="NUM">V0</field>
      </shadow>
    </value> 
  </value> 
  <value name="id">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value> 
</block>
<block type="blynk_table_unselect">
 <value name="xnyj">
  <shadow type="math_number">
    <field name="NUM">V0</field>
  </shadow>
  <value name="xnyj">
    <shadow type="math_number">
      <field name="NUM">V0</field>
    </shadow>
  </value> 
</value> 
<value name="id">
  <shadow type="math_number">
    <field name="NUM">0</field>
  </shadow>
</value> 
</block>
<block type="blynk_table_cleardata">
 <value name="xnyj">
  <shadow type="math_number">
    <field name="NUM">V0</field>
  </shadow>
  <value name="xnyj">
    <shadow type="math_number">
      <field name="NUM">V0</field>
    </shadow>
  </value> 
</value> 
<value name="id">
  <shadow type="math_number">
    <field name="NUM">0</field>
  </shadow>
</value>
</block>
<block type="Blynk_iot_CONNECT_STATE" >
  <field name="state">BLYNK_CONNECTED</field>
  <statement name="DO">
    <block type="blynk_bridge_auth">
      <field name="Vpin">V0</field>
      <value name="auth">
        <shadow type="text">
          <field name="TEXT">n2KlfPGDyjDBluNi1G9DG5OEjqDT996L</field>
        </shadow>
      </value>
    </block>
  </statement>
</block>
<block type="blynk_bridge_digitalWrite">
  <value name="PIN">
    <shadow type="pins_digital"></shadow>
  </value>
  <value name="STAT">
    <shadow type="inout_highlow"></shadow>
  </value>
</block>
<block type="blynk_bridge_AnaloglWrite">
  <value name="PIN">
    <shadow type="pins_pwm"></shadow>
  </value>
  <value name="NUM">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
</block>
<block type="blynk_bridge_VPin">
  <value name="NUM">
    <shadow type="math_number">
      <field name="NUM">0</field>
    </shadow>
  </value>
</block>
<block type="Blynk_iot_CONNECT_STATE" >
  <field name="state">BLYNK_CONNECTED</field>
  <statement name="DO">
    <block type="blynk_WidgetRTC_init">
      <value name="NUM">
        <shadow type="math_number" >
          <field name="NUM">10</field>
        </shadow>
      </value>
    </block>
  </statement>
</block>
<block type="blynk_WidgetRTC_get_time">
</block>
<block type="blynk_iot_playmusic">
  <field name="Vpin">V0</field>
  <statement name="DO">
    <block type="variables_declare">
      <field name="VAR">action</field>
      <field name="TYPE">String</field>
      <value name="VALUE">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
      <next>
        <block type="controls_if">
          <mutation elseif="3"></mutation>
          <value name="IF0">
            <block type="logic_compare">
              <field name="OP">EQ</field>
              <value name="A">
                <block type="variables_get">
                  <field name="VAR">action</field>
                </block>
              </value>
              <value name="B">
                <block type="text">
                  <field name="TEXT">play</field>
                </block>
              </value>
            </block>
          </value>
          <statement name="DO0">
            <block type="GD5800_MP3_CONTROL">
              <field name="CONTROL_TYPE">play();</field>
              <value name="RXPIN">
                <shadow type="pins_digital">
                  <field name="PIN">4</field>
                </shadow>
              </value>
              <value name="TXPIN">
                <shadow type="pins_digital">
                  <field name="PIN">5</field>
                </shadow>
              </value>
            </block>
          </statement>
          <value name="IF1">
            <block type="logic_compare">
              <field name="OP">EQ</field>
              <value name="A">
                <block type="variables_get">
                  <field name="VAR">action</field>
                </block>
              </value>
              <value name="B">
                <block type="text">
                  <field name="TEXT">stop</field>
                </block>
              </value>
            </block>
          </value>
          <statement name="DO1">
            <block type="GD5800_MP3_CONTROL">
              <field name="CONTROL_TYPE">pause();</field>
              <value name="RXPIN">
                <shadow type="pins_digital">
                  <field name="PIN">4</field>
                </shadow>
              </value>
              <value name="TXPIN">
                <shadow type="pins_digital">
                  <field name="PIN">5</field>
                </shadow>
              </value>
            </block>
          </statement>
          <value name="IF2">
            <block type="logic_compare">
              <field name="OP">EQ</field>
              <value name="A">
                <block type="variables_get">
                  <field name="VAR">action</field>
                </block>
              </value>
              <value name="B">
                <block type="text">
                  <field name="TEXT">next</field>
                </block>
              </value>
            </block>
          </value>
          <statement name="DO2">
            <block type="GD5800_MP3_CONTROL">
              <field name="CONTROL_TYPE">next();</field>
              <value name="RXPIN">
                <shadow type="pins_digital">
                  <field name="PIN">4</field>
                </shadow>
              </value>
              <value name="TXPIN">
                <shadow type="pins_digital">
                  <field name="PIN">5</field>
                </shadow>
              </value>
            </block>
          </statement>
          <value name="IF3">
            <block type="logic_compare">
              <field name="OP">EQ</field>
              <value name="A">
                <block type="variables_get">
                  <field name="VAR">action</field>
                </block>
              </value>
              <value name="B">
                <block type="text">
                  <field name="TEXT">prev</field>
                </block>
              </value>
            </block>
          </value>
          <statement name="DO3">
            <block type="GD5800_MP3_CONTROL">
              <field name="CONTROL_TYPE">prev();</field>
              <value name="RXPIN">
                <shadow type="pins_digital">
                  <field name="PIN">4</field>
                </shadow>
              </value>
              <value name="TXPIN">
                <shadow type="pins_digital">
                  <field name="PIN">5</field>
                </shadow>
              </value>
            </block>
          </statement>
        </block>
      </next>
    </block>
  </statement>
</block>
<block type="blynk_light">
  <field name="Vpin">V0</field>
  <statement name="DO">
    <block type="serial_println">
      <field name="serial_select">Serial</field>
      <value name="CONTENT">
        <block type="variables_get">
          <field name="VAR">lx</field>
        </block>
      </value>
    </block>
  </statement>
</block>
<block type="blynk_gravity">
  <field name="Vpin">V0</field>
  <statement name="DO">
    <block type="serial_println">
      <field name="serial_select">Serial</field>
      <value name="CONTENT">
        <block type="variables_get">
          <field name="VAR">x</field>
        </block>
      </value>
      <next>
        <block type="serial_println">
          <field name="serial_select">Serial</field>
          <value name="CONTENT">
            <block type="variables_get">
              <field name="VAR">y</field>
            </block>
          </value>
          <next>
            <block type="serial_println">
              <field name="serial_select">Serial</field>
              <value name="CONTENT">
                <block type="variables_get">
                  <field name="VAR">z</field>
                </block>
              </value>
            </block>
          </next>
        </block>
      </next>
    </block>
  </statement>
</block>
<block type="blynk_acc">
  <field name="Vpin">V0</field>
  <statement name="DO">
    <block type="serial_println">
      <field name="serial_select">Serial</field>
      <value name="CONTENT">
        <block type="variables_get">
          <field name="VAR">x</field>
        </block>
      </value>
      <next>
        <block type="serial_println">
          <field name="serial_select">Serial</field>
          <value name="CONTENT">
            <block type="variables_get">
              <field name="VAR">y</field>
            </block>
          </value>
          <next>
            <block type="serial_println">
              <field name="serial_select">Serial</field>
              <value name="CONTENT">
                <block type="variables_get">
                  <field name="VAR">z</field>
                </block>
              </value>
            </block>
          </next>
        </block>
      </next>
    </block>
  </statement>
</block>
<block type="Blynk_iot_CONNECT_STATE">
  <statement name="DO"></statement>
</block>
</block>
<block type="Blynk_iot_BLYNK_syncAll" >
</block>
<block type="blynk_iot_syncVirtual">
  <field name="Vpin">V0</field>
</block>
</category>
</category>
<sep></sep>
<category id="catFactory" name="catFactory" colour="#777777">
  <block type="factory_include"></block>
  <block type="factory_function_noreturn"></block>
  <block type="factory_function_return"></block>
  <block type="factory_declare"></block>
  <block type="factory_declare2"></block>
  <block type="factory_define"></block>
  <block type="factory_callMethod_noreturn"></block>
  <block type="factory_callMethod_return"></block>
  <block type="factory_static_method_noreturn"></block>
  <block type="factory_static_method_return"></block>
  <block type="factory_block"></block>
  <block type="factory_block_return"></block>
  <block type="factory_block_with_textarea"></block>
  <block type="factory_block_return_with_textarea"></block>
</category>
<category  id="catTools" name="catTools" colour="#555555">
 <block type="IICSCAN"></block>
 <block type="factory_notes"></block>
 <block type="folding_block"></block>
 <block type="uno_pin"></block>
 <block type="nano_pin"></block>
 <block type="mega_pin"></block>
 <block type="promini_pin"></block>
 <block type="leonardo_pin"></block>
</category>
</xml>
<script>
  if(company_block!=null){
    $('#toolbox').append(company_block);
  }
  if(myblock!=null){
    $('#toolbox').append(myblock);
  }
</script>
</body>
</html>